#pragma once
#include<string>
#include<vector>

namespace OpenDrive {

	class LaneLink
	{
	public:
		LaneLink(std::string from, std::string to);
		~LaneLink();
		std::string getFrom() const;
		std::string getTo() const;
	private:
		std::string from;
		std::string to;
	};
	class Connection
	{
	public:
		Connection(std::string id, std::string incomingRoad, std::string connectingRoad, std::string contactPoint);
		~Connection();
		void addLaneLinks(const LaneLink &laneLink);
		std::string getId() const;
		std::string getIncomingRoad() const;
		std::string getConnectionRoad() const;
		std::string getContactPoint() const;
		std::vector<LaneLink>& getLaneLinks();
	private:
		std::string id;
		std::string incomingRoad;
		std::string connectingRoad;
		std::string contactPoint;
		std::vector<LaneLink> laneLinks;
	};
}